#ifndef __BSP_DAC_H
#define __BSP_DAC_H

#include "./SYSTEM/sys/sys.h"

/* -------------------------------------------- 全局变量声明 ---------------------------------------------- */

extern DAC_HandleTypeDef g_dac1_handle;             /* DAC句柄 */

extern DAC_HandleTypeDef g_dac_dma_handle;          /* DAC（DMA输出）句柄 */
extern DMA_HandleTypeDef g_dma_dac_handle;          /* 与DAC关联的DMA句柄 */
extern uint16_t g_dac_sin_buf[4096];                /* 发送数据缓冲区 */

/* -------------------------------------------- 函数声明 -------------------------------------------------- */
void dac_init(uint8_t outx);                        /* DAC通道1初始化 */ 
void dac_set_voltage(uint8_t outx, uint16_t vol);   /* 设置通道1/2输出电压 */ 
void dac_triangular_wave(uint16_t maxval, uint16_t dt, uint16_t samples, uint16_t n);   /* 输出三角波 */
void dac_dma_wave_init(uint8_t outx);               /* DAC DMA输出正弦波初始化函数 */
void dac_dma_wave_enable(uint8_t outx, uint16_t ndtr, uint16_t arr, uint16_t psc);/* DAC DMA输出波形使能 */

#endif
